package core;

import java.io.Serializable;
import java.util.Vector;

@SuppressWarnings("serial")
public abstract class Unit implements Serializable
{
	/**
	 * Name of the unit.
	 */
	private String name;

	/**
	 * Base point cost of the unit.
	 */
	private int cost;

	/**
	 * Base number of pieces in squad.
	 */
	private int pieces;

	private String type;

	/**
	 * List of available options for the unit.
	 */
	private Vector<Option> options;

	/**
	 * Constructor for the Unit class.
	 * 
	 * @param name
	 * @param pieces
	 * @param cost
	 * @param options
	 */
	public Unit(String name, int pieces, int cost, String type,
			Vector<Option> options)
	{
		this.name = name;
		this.pieces = pieces;
		this.cost = cost;
		this.type = type;
		this.options = options;
	}

	public String getName()
	{
		return name;
	}

	public int getPieces()
	{
		return pieces;
	}

	public int getCost()
	{
		return cost;
	}

	public String getType()
	{
		return type;
	}

	public Vector<Option> getOptions()
	{
		return options;
	}

}
